001    /***********************************************************************************************
002     *              Tekijä:                 Jukka Salminen
003     *              Opiskelijanumero:       i79947
004     *              Email:                  jukka.salminen@uwasa.fi
005     *              Tekoaika:               23.9.2002
006     *              Kurssi/vuosi:           Ohjelmoinnin jatkokurssi/kevät 2002
007     *              Työn tunnus:            Harjoitustyö: Taulukkoeditori web-sivulle
008     ***********************************************************************************************
009     * JSApplet-luokka
010     *================
011     * Versio 0.1
012     * Tämän luokka on sovelluksen graafinen käyttöliittymä.
013     *
014     * Metodit
015     *--------
016     * iniComponents        Luo graafisen käyttöliittymän tarvitsemat objektit.
017     *
018     * Jäsenmuuttujat 
019     * --------------
020     * m_sURL
021     * ------
022     * String               URL tai tiedosto, josta data haetaan
023     *
024     * Pääikkuna jaetaan kolmeksi JSPanel-luokasta peritytyväksi paneeliksi
025     * m_oPanel, m_oPanel2 ja m_oPanel3. Nämä asetellaan päällekkäin Boxlayoutilla.
026     * Paneeleissa olevat painonapit järjestetään Flowlayoutilla
027     * ===============================================================================
028     * m_oPanel sisältää objektit
029     * --------------------------
030     *  m_oScrollpane
031     * --------------
032     * JScrollPane                  Container-objekti taulukolle m_oTable
033     *
034     * m_oTable
035     * --------
036     * JSTable                      Taulukko, jota editoidaan
037     * ===============================================================================
038     * m_oPanel2 sisältää JSButton-objektit
039     * ------------------------------------
040     *  m_AddNewColumnButton                Sarakkeen lisäys
041     *  m_RemoveColumnButton                Editoitavan sarakkeen poisto
042     *  m_SaveButton                        Koko taulukon tallennus
043     * ===============================================================================
044     * m_oPanel2 sisältää JSButton-objektit
045     * ------------------------------------
046     *  m_InsertRowButton                   Rivin lisäys väliin
047     *  m_AddRowButton                      Rivin lisäys loppuun
048     *  m_RemoveRowButton                   Editoitavan rivin poisto
049     * ===============================================================================
050     * Paikalliset muuttujat
051     *----------------------
052     *  Ei ole
053     */
054    package applet;
055    import javax.swing.*;
056    import java.awt.event.*;
057    import classes.*;
058    import tables.*;
059    public class JSApplet extends javax.swing.JApplet
060    {
061            public JSApplet()
062            {
063                    initComponents();
064            }
065        private void initComponents()//GEN-BEGIN:initComponents
066        {
067            m_oPanel = new forms.Panel1();
068            m_oScrollPane = new javax.swing.JScrollPane();
069            m_oTable = new tables.JSTable();
070            m_oPanel2 = new forms.Panel1();
071            m_AddNewColumnButton = new classes.JSActionButton();
072            JSAction loAction = new TableAction(m_oTable);
073            m_AddNewColumnButton.addAction(loAction);
074            m_RemoveColumnButton = new classes.JSActionButton();
075            m_RemoveColumnButton.addAction(loAction);
076            m_SaveButton = new classes.JSActionButton();
077            m_SaveButton.addAction(loAction);
078            m_oPanel3 = new forms.Panel1();
079            m_InsertRowButton = new classes.JSActionButton();
080            m_InsertRowButton.addAction(loAction);
081            m_AddRowButton = new classes.JSActionButton();
082            m_AddRowButton.addAction(loAction);
083            m_RemoveRowButton = new classes.JSActionButton();
084            m_RemoveRowButton.addAction(loAction);
085    
086            getContentPane().setLayout(new javax.swing.BoxLayout(getContentPane(), javax.swing.BoxLayout.Y_AXIS));
087    
088            m_oScrollPane.setBorder(null);
089            m_oScrollPane.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
090            m_oScrollPane.setVerticalScrollBarPolicy(javax.swing.JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
091            m_oScrollPane.setMaximumSize(new java.awt.Dimension(0, 0));
092            m_oScrollPane.setPreferredSize(new java.awt.Dimension(540, 300));
093            m_oScrollPane.setAutoscrolls(true);
094            m_oTable.setModel(new tables.JSTableModel());
095            m_oTable.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_ALL_COLUMNS);
096            m_oTable.setFont(new java.awt.Font("Dialog", 0, 14));
097            m_oScrollPane.setViewportView(m_oTable);
098    
099            m_oPanel.add(m_oScrollPane);
100    
101            getContentPane().add(m_oPanel);
102    
103            m_AddNewColumnButton.setText("AddColumn");
104            m_AddNewColumnButton.setToolTipText("Lis\u00e4\u00e4 uusi sarake");
105            m_oPanel2.add(m_AddNewColumnButton);
106    
107            m_RemoveColumnButton.setText("RemoveColumn");
108            m_RemoveColumnButton.setToolTipText("Poista sarake");
109            m_oPanel2.add(m_RemoveColumnButton);
110    
111            m_SaveButton.setText("Save");
112            m_SaveButton.setToolTipText("Save");
113            m_oPanel2.add(m_SaveButton);
114    
115            getContentPane().add(m_oPanel2);
116    
117            m_InsertRowButton.setText("InsertRow");
118            m_InsertRowButton.setToolTipText("InsertRow");
119            m_oPanel3.add(m_InsertRowButton);
120    
121            m_AddRowButton.setText("AddRow");
122            m_AddRowButton.setToolTipText("AddRow");
123            m_oPanel3.add(m_AddRowButton);
124    
125            m_RemoveRowButton.setToolTipText("RemoveRow");
126            m_RemoveRowButton.setActionCommand("RemoveRow");
127            m_RemoveRowButton.setLabel("RemoveRow");
128            m_oPanel3.add(m_RemoveRowButton);
129    
130            getContentPane().add(m_oPanel3);
131    
132        }//GEN-END:initComponents
133            
134            public void init()
135            {
136                    m_sURL=getParameter("URL");
137                    showStatus("Source= "+m_sURL);
138            }
139            
140            public void start()
141            {
142                    m_oTable.setModel(new tables.JSTableModel(m_sURL));
143            }
144            
145        // Variables declaration - do not modify//GEN-BEGIN:variables
146        private classes.JSActionButton m_RemoveColumnButton;
147        private classes.JSActionButton m_AddRowButton;
148        private classes.JSActionButton m_AddNewColumnButton;
149        private tables.JSTable m_oTable;
150        private forms.Panel1 m_oPanel3;
151        private forms.Panel1 m_oPanel2;
152        private forms.Panel1 m_oPanel;
153        private classes.JSActionButton m_RemoveRowButton;
154        private javax.swing.JScrollPane m_oScrollPane;
155        private classes.JSActionButton m_InsertRowButton;
156        private classes.JSActionButton m_SaveButton;
157        // End of variables declaration//GEN-END:variables
158            private String m_sURL;
159            
160    }